import sys

from numpy import double

from data_manage import check_data, check_digits, check_central_meridian
from gauss_reversals import gauss_forward, gauss_inverse

if __name__ == '__main__':
    src_file_path = sys.argv[1]  # 接收读入文件路径
    src_coorSys_text = sys.argv[3]  # 接收源坐标系文字
    src_central_meridian = double(sys.argv[4])  # 接收源中央子午线
    src_a = double(sys.argv[5])
    src_rf = double(sys.argv[6])
    # src_central_meridian = 117  # 接收源中央子午线

    tgt_file_path = sys.argv[7]  # 接收目标路径
    tgt_coorSys_text = sys.argv[7]  # 接收目标坐标系文字
    tgt_central_meridian = double(sys.argv[8])  # 接收目标中央子午线
    tgt_a = double(sys.argv[9])  # 接收目标长半轴
    tgt_rf = double(sys.argv[10])  # 接收目标扁率

    # 判断是东北还是北东格式数据，并返回正确的格式
    data = check_data(src_file_path)
    # 检查数据位数是否正确
    check_digits(data)
    # 检查中央子午线和带号是否匹配
    check_central_meridian(data, src_coorSys_text, src_central_meridian)
    # 进行高斯反算（文件XY坐标转为经纬度坐标）
    gauss_inverse(data, src_coorSys_text, src_central_meridian)
    gauss_forward(data, tgt_coorSys_text, tgt_central_meridian)
